/*
    文件内容: Buffer类,封装Buffer,用来接受发送数据
    文件名: Buffer.h
    作者: 中国好青年(码农论坛)
    时间: 2024/9/9
*/

#pragma once
#include <string>
#include <string.h>
/*
    类名: Buffer
    作用: 封装Buffer相关操作类,用来接受发送数据
*/
class Buffer
{
private:
    std::string buf_;
    const uint16_t sep_;

public:
    /* 构造函数 和 析构函数 */
    Buffer(uint16_t sep = 1);
    ~Buffer();

    /* Buffer相关操作函数 */
    void append(const char *data,size_t size);
    void appendWithSep(const char *data, size_t size);
    const char*data();
    size_t size();
    void clear();
    void  erase(ssize_t pos, int n);
    bool pickMessage(std::string &s);
};

